package cn.bonoon.controllers.fmm;

import cn.bonoon.kernel.web.annotations.WithDialog;
import cn.bonoon.kernel.web.annotations.components.AsHidden;
import cn.bonoon.kernel.web.annotations.components.AsTabs;
import cn.bonoon.kernel.web.annotations.components.TabHome;
import cn.bonoon.kernel.web.annotations.components.TabItem;
import cn.bonoon.kernel.web.annotations.components.TabItem.TabItemType;
import cn.bonoon.kernel.web.annotations.components.TabPosition;
import cn.bonoon.kernel.web.annotations.form.FormDetail;
import cn.bonoon.kernel.web.annotations.form.PropertyDetail;

@WithDialog(width = 840, height = 580)
@FormDetail(value = 2, headWidth = 120)
@TabHome(name = "账户信息")
@AsTabs(tabPosition = TabPosition.LEFT, value = {
	@TabItem(name = "用户组", value = "groups.load", type = TabItemType.HREF),
	@TabItem(name = "角色", value = "roles.load", type = TabItemType.HREF),
	@TabItem(name = "权限", value = "authority.load", type = TabItemType.HREF),
	@TabItem(name = "菜单", value = "menus.do", type = TabItemType.HREF),
	@TabItem(name = "第三方账号", value = "menus.do", type = TabItemType.HREF),
	@TabItem(name = "访问策略", value = "menus.do", type = TabItemType.HREF),
	@TabItem(name = "代管策略", value = "menus.do", type = TabItemType.HREF),
	@TabItem(name = "代管日志", value = "menus.do", type = TabItemType.HREF),
	@TabItem(name = "登录日志", value = "menus.do", type = TabItemType.HREF)
})
public class AccountDetail implements AccountDefine{

	@AsHidden
	private Long id;
	
	@PropertyDetail(1)
	private String name;
	@PropertyDetail(0)
	private String loginName;

	@PropertyDetail(10)	
	private String typeName;
	@PropertyDetail(11)
	private String proxyable;

	@PropertyDetail(20)
	private String status;
	@PropertyDetail(21)
	private int extStatus;

	@PropertyDetail(30)
	private String flag;
	@PropertyDetail(31)
	private long extFlag;

	@PropertyDetail(40)
	private String hasLogon;
	@PropertyDetail(41)
	private String logonMessage;

	@PropertyDetail(50)
	private String lastLogonIp;
	@PropertyDetail(51)
	private String lastLogonAt;

	@PropertyDetail(60)
	private String currentLogonIp;
	@PropertyDetail(61)
	private String currentLogonAt;

	@PropertyDetail(70)
	private String forcedChangePwd;
	@PropertyDetail(71)
	private String expiredAt;

	@PropertyDetail(80)
	private String passwordUpdateAt;
	@PropertyDetail(81)
	private String createAt;

	@PropertyDetail(value = 100, colspan = 1)
	private String remark;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLoginName() {
		return loginName;
	}
	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}
	public String getStatus() {
		return status;
	}
	public void setStatus(String status) {
		this.status = status;
	}
	public String getFlag() {
		return flag;
	}
	public void setFlag(String flag) {
		this.flag = flag;
	}
	public String getForcedChangePwd() {
		return forcedChangePwd;
	}
	public void setForcedChangePwd(String forcedChangePwd) {
		this.forcedChangePwd = forcedChangePwd;
	}
	public String getExpiredAt() {
		return expiredAt;
	}
	public void setExpiredAt(String expiredAt) {
		this.expiredAt = expiredAt;
	}
	public String getTypeName() {
		return typeName;
	}
	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}
	public String getProxyable() {
		return proxyable;
	}
	public void setProxyable(String proxyable) {
		this.proxyable = proxyable;
	}
	public int getExtStatus() {
		return extStatus;
	}
	public void setExtStatus(int extStatus) {
		this.extStatus = extStatus;
	}
	public long getExtFlag() {
		return extFlag;
	}
	public void setExtFlag(long extFlag) {
		this.extFlag = extFlag;
	}
	public String getHasLogon() {
		return hasLogon;
	}
	public void setHasLogon(String hasLogon) {
		this.hasLogon = hasLogon;
	}
	public String getLogonMessage() {
		return logonMessage;
	}
	public void setLogonMessage(String logonMessage) {
		this.logonMessage = logonMessage;
	}
	public String getLastLogonIp() {
		return lastLogonIp;
	}
	public void setLastLogonIp(String lastLogonIp) {
		this.lastLogonIp = lastLogonIp;
	}
	public String getLastLogonAt() {
		return lastLogonAt;
	}
	public void setLastLogonAt(String lastLogonAt) {
		this.lastLogonAt = lastLogonAt;
	}
	public String getCurrentLogonIp() {
		return currentLogonIp;
	}
	public void setCurrentLogonIp(String currentLogonIp) {
		this.currentLogonIp = currentLogonIp;
	}
	public String getCurrentLogonAt() {
		return currentLogonAt;
	}
	public void setCurrentLogonAt(String currentLogonAt) {
		this.currentLogonAt = currentLogonAt;
	}
	public String getPasswordUpdateAt() {
		return passwordUpdateAt;
	}
	public void setPasswordUpdateAt(String passwordUpdateAt) {
		this.passwordUpdateAt = passwordUpdateAt;
	}
	public String getCreateAt() {
		return createAt;
	}
	public void setCreateAt(String createAt) {
		this.createAt = createAt;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
}
